import request from '../../helper/request'
import {BASE64_TYPE} from '@/config' // 处理base64
/*
 * 文字关键词高亮
 * str 处理文字
 * arr 关键字数组
 * tag 转化标签
 * color 颜色
*/
const highlighWord = function (str, arr, tag = 'strong', color = 'red') {
  let regInner = arr.map((item) => { return `(${item})` }).join('|')
  let reg = new RegExp(regInner, 'g')
  return str.replace(reg, (res) => {
    return `<${tag} style="color:${color}">${res}</${tag}>`
  })
}

export function swiperImgInit (imgArr) {
  console.log(imgArr)
}

export function swiperVideoInit (vArr) {
  let videoPromise = vArr.map((item) => {
    return request('file/download', 'SC0416', {id: item.id, name: item.name}).then((res) => { // 系统情报
      return Promise.resolve(res)
    })
  })
  return Promise.all(videoPromise).then((res) => {
    return Promise.resolve(res)
  })
}

// export async function realVideoData (vArr) {
//   let arr = await swiperVideoInit(vArr)
//   return arr
// }

// 案情简介 数据
export function descDataInit (obj) {
  let result = {
    'ajmc': obj.ajmc,
    'ajlb': obj.ajlb,
    'xalb': obj.xalb, //      String  小案类别
    'ajzt': obj.ajzt, //      String  案件状态
    'ajbh': obj.ajbh, //      String  案件编号
    'fasj': obj.fasj, //      String  发案时间
    'fadd': obj.fadd, //      String  发案地点
    'jyaq': highlighWord(obj.jyaq, obj.jyaqgl), // obj.jyaq, //      String  简要案情
    'jyaqgl': obj.jyaqgl, //      Array 简要案情匹配中的高亮词
    'slsj': obj.slsj, // date(new Date(obj.slsj), 'yyyy-MM-dd'), //      String  受理时间
    'sldw': obj.sldw, //      String  受理单位
    'lasj': obj.lasj, // date(new Date(obj.lasj), 'yyyy-MM-dd'), //      String  立案时间
    'ladw': obj.ladw, //      String  立案单位
    'bar': obj.bar, //     String  报案人
    'badh': obj.badh, //      String  报案电话
    'lrsj': obj.lrsj, //      String  录入时间
    'lrdw': obj.lrdw, //      String  录入单位
    'zxbr': obj.zxbr, //      String  主协办人
    'sajz': obj.sajz, //      String  涉案价值
    'ssjz': obj.ssjz //      String  损失价值
  };
  return result // 基本信息接口的 result.para
}

// 侦查阶段 数据
export function processDataInit (obj) { // 基本信息接口的 result.para
  let nowDate = new Date().getTime() // date(new Date(), 'yyyy-MM-dd')
  return obj.zcjd.map((item) => {
    let timeChock = new Date(item.time).getTime()
    return {
      jc: item.jc,
      isPass: timeChock > nowDate ? 0 : 1,
      date: item.time.split(' ')[0],
      time: `${item.time.split(' ')[1].split(':')[0]}:${item.time.split(' ')[1].split(':')[1]}`
    }
  })
}

// 案情特征 数据
export function characDataInit (obj) { // para.tz
  return obj.rowArr.map((item) => {
    return {
      key: item.col_cn,
      value: item.col_val
    }
  })
}

// 警情 数据
export function policeInfoInit (obj) { // para.jq
  return obj.rowArr.map((item) => {
    return {
      key: item.col_cn,
      value: item.col_val
    }
  })
}

// 现场勘验
export function spotInfoInit (obj) {
  return obj.xckyArr.map((item) => {
    return {
      xkbh: item.rowArr[0].col_val,
      rowArr: item.rowArr,
      childArr: item.childArr
    }
  })
}

// 涉案人员
export function reporterInit (obj) {
  // console.log(obj.bar)
  return obj.bar.map((item) => {
    let {tableName, xh, ...data} = item
    let bs = item.rowArr.splice(item.rowArr.findIndex((i) => { return i.col_en === 'bs' }), 1)[0]
    data.bs = bs
    data.xp = data.xp === '' ? '/static/default/head.png' : `${BASE64_TYPE}${data.xp}`
    data.systemid = item.systemid
    data.name = item.tableName
    return data
  })
}

export function vicitimInit (obj) {
  return obj.shr.map((item) => {
    let {tableName, xh, ...data} = item
    let bs = item.rowArr.splice(item.rowArr.findIndex((i) => { return i.col_en === 'bs' }), 1)[0]
    data.bs = bs
    data.xp = data.xp === '' ? '/static/default/head.png' : `${BASE64_TYPE}${data.xp}`
    data.systemid = item.systemid
    data.name = item.tableName
    return data
  })
}

export function suspectorInit (obj) {
  return obj.xyr.map((item) => {
    let {tableName, xh, ...data} = item
    let bs = item.rowArr.splice(item.rowArr.findIndex((i) => { return i.col_en === 'bs' }), 1)[0]
    data.bs = bs
    data.xp = data.xp === '' ? '/static/default/head.png' : `${BASE64_TYPE}${data.xp}`
    data.systemid = item.systemid
    data.name = item.tableName
    return data
  })
}

export function znObjectInit (obj) {
  let znObjs = obj.sawp.find((item) => { return item.lxmc === '作案工具' })
  let dataArr = znObjs.dataArr.map((item) => {
    item.xp = item.xp === '' ? '/static/default/case.png' : `${BASE64_TYPE}${item.xp}`
    return item
  })
  return dataArr
}

export function ssObjectInit (obj) {
  let ssObjs = obj.sawp.find((item) => { return item.lxmc === '损失物品' })
  let dataArr = ssObjs.dataArr.map((item) => {
    item.xp = item.xp === '' ? '/static/default/case.png' : `${BASE64_TYPE}${item.xp}`
    return item
  })
  return dataArr
}

export function rgzcDataInit (obj) {
  let rgzcArr = obj.rgzc.map((item) => {
    if(item.kylx === 'ry') {
      item.xp = item.xp === '' ? '/static/default/head.png' : `${BASE64_TYPE}${item.xp}`
    } else if (item.kylx === 'wp') {
      item.xp = item.xp === '' ? '/static/default/case.png' : `${BASE64_TYPE}${item.xp}`
    }
    return item
  })
  return rgzcArr
}
